/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2001 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.vcs.advanced; import java.awt.*; import java.util.*; import java.beans.*; import org.netbeans.modules.vcs.util.*; import org.netbeans.modules.vcs.cmdline.*; /** Property editor for UserCommand. * * @author Michal Fadljevic */ //------------------------------------------- public class UserCommandsEditor implements PropertyEditor { private Debug E=new Debug("UserCommandsEditor", false); // NOI18N private Debug D=E; private Vector commands=new Vector(10); private PropertyChangeSupport changeSupport=null; //------------------------------------------- public UserCommandsEditor(){ // each PropertyEditor should have a null constructor... changeSupport=new PropertyChangeSupport(this); } //------------------------------------------- public String getAsText(){ // null if the value can't be expressed as an editable string... return ""+commands; // NOI18N } //------------------------------------------- public void setAsText(String text) { //D.deb("setAsText("+text+") ignored"); // NOI18N } //------------------------------------------- public boolean supportsCustomEditor() { return true ; } //------------------------------------------- public Component getCustomEditor(){ return new UserCommandsPanel(this); } //------------------------------------------- public String[] getTags(){ // this property cannot be represented as a tagged value.. return null ; } //------------------------------------------- public String getJavaInitializationString() { return ""; // NOI18N } //------------------------------------------- public Object getValue(){ return commands ; } //------------------------------------------- public void setValue(Object value) { if( !(value instanceof Vector) ){ E.err("Vector expected instead of "+value); // NOI18N throw new IllegalArgumentException("Vector expected instead of "+value); } // make local copy of value - deep copy using clone commands=new Vector(); Vector vect = (Vector) value; for(int i=0;i<vect.size (); i++) { org.netbeans.modules.vcs.cmdline.UserCommand cmd = (org.netbeans.modules.vcs.cmdline.UserCommand) vect.get (i); commands.add (cmd.clone ()); } changeSupport.firePropertyChange("",null,null); // NOI18N } //------------------------------------------- public boolean isPaintable() { return false ; } //------------------------------------------- public void paintValue(Graphics gfx, Rectangle box){ // silent noop } //------------------------------------------- public void addPropertyChangeListener (PropertyChangeListener l) { changeSupport.addPropertyChangeListener(l); } //------------------------------------------- public void removePropertyChangeListener (PropertyChangeListener l) { changeSupport.removePropertyChangeListener(l); } } /* * <<Log>> * 13 Gandalf 1.12 1/27/00 Martin Entlicher NOI18N * 12 Gandalf 1.11 10/25/99 Pavel Buzek copyright * 11 Gandalf 1.10 10/23/99 Ian Formanek NO SEMANTIC CHANGE - Sun * Microsystems Copyright in File Comment * 10 Gandalf 1.9 9/30/99 Pavel Buzek * 9 Gandalf 1.8 9/8/99 Pavel Buzek * 8 Gandalf 1.7 9/8/99 Pavel Buzek class model changed, * customization improved, several bugs fixed * 7 Gandalf 1.6 8/31/99 Pavel Buzek * 6 Gandalf 1.5 8/31/99 Pavel Buzek * 5 Gandalf 1.4 5/4/99 Michal Fadljevic * 4 Gandalf 1.3 5/4/99 Michal Fadljevic * 3 Gandalf 1.2 4/26/99 Michal Fadljevic * 2 Gandalf 1.1 4/22/99 Michal Fadljevic * 1 Gandalf 1.0 4/21/99 Michal Fadljevic * $ */